﻿using Customers.Api.Domain;

namespace Customers.Api.Services;

public interface ICustomerService
{
    Task<bool> CreateAsync(Customer customer);

    Task<Customer?> GetAsync(Guid id);

    Task<IEnumerable<Customer>> GetAllAsync();

    Task<bool> UpdateAsync(Customer customer);

    Task<bool> DeleteAsync(Guid id);
}

public class CustomerService : ICustomerService
{
    public async Task<bool> CreateAsync(Customer customer)
    {
        return await Task.FromResult(true);
    }

    public async Task<Customer?> GetAsync(Guid id)
    {
        return await Task.FromResult(new Customer());
    }

    public async Task<IEnumerable<Customer>> GetAllAsync()
    {
        return await Task.FromResult(Enumerable.Empty<Customer>());
    }

    public async Task<bool> UpdateAsync(Customer customer)
    {
        return await Task.FromResult(true);
    }

    public async Task<bool> DeleteAsync(Guid id)
    {
        return await Task.FromResult(true);
    }
}